package com.sprouting.ops.model;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sprouting.ops.annotations.invoke.CheckLength;
import com.sprouting.ops.annotations.invoke.CheckNotNull;
import lombok.Data;

/**
 * 产品
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2025/6/1 15:22
 */
@TableName("ops_product")
@Data
public class OpsProduct extends BaseModel {

    /**
     * 主键
     */
    @TableId
    private String id;
    /**
     * 图标
     * @see DromaraFileStorage#getId()
     */
    private String ico;
    /**
     * 产品名称
     */
    @CheckLength(min = 1, max = 255, message = "名称超过长度限制")
    @CheckNotNull(message = "请输入名称")
    private String name;
    /**
     * 产品状态
     * @see com.sprouting.ops.interfaces.ConstantBase.ProjectState
     */
    private Integer status;
    /**
     * 产品重要性
     * @see com.sprouting.ops.interfaces.ConstantBase.Importance
     */
    private Integer importance;
    /**
     * 产品负责人
     */
    private String directorName;
    /**
     * 是否公共产品
     * @see com.sprouting.ops.interfaces.ConstantBase.YesOrNo#YES 公共项目
     * @see com.sprouting.ops.interfaces.ConstantBase.YesOrNo#NO 非公共项目
     */
    private Integer common;
    /**
     * 详情
     */
    private String briefIntroduction;
}
